An SVC file format is extended on the basis of an H.264/advanced video coding (AVC) file format, and keeps backward compatibility with the AVC file format. The SVC file format is very flexible, and streams may be stored in various forms. For example, a whole stream is stored as a media track or as multiple media tracks according to multiple operation points or by layers; and a subset of required streams may be extracted simply and quickly according to information provided by an extractor track, sample grouping, or a meta data track.
SVC has scalability capabilities in three dimensions: time, space, and quality. The layers in these three dimensions may be identified by temporal_id, dependency_id, and quality_id respectively, which are briefly referred to as (T, D, Q). A group of (T, D, Q) values may uniquely identify a layer or video description corresponding to the layer. A piece of content may generate a stream including multiple layers after being encoded, where the layers include a basic layer and one or more enhanced layers. Through different combinations of the basic layer and enhanced layers, video descriptions of different bit rates, different frame rates, different resolutions, and different quality can be provided.
A Real-time Transport Protocol (RTP) for SVC provides a concept of an SVC operation point. One operation point is identified by a group of (T, D, Q). A bit stream corresponding to an operation point consists of a layer identified by the (T, D, Q) and all network abstraction units (NALs) of the layer. To describe the characteristics of the operation point, a Session Description Protocol (SDP) parameter sprop-operation-point-info is defined, and forms of the parameter are, for example, sprop-operation-point-info=<1,0,0,0,4d400a,3200,176,144,128,256>, <2,1,1,0,53000c,6400,352,288,256,512>, where each pair of angle brackets includes parameters for describing one operation point and the ten parameters included in each angle brackets are respectively as follows: layer-ID, temporal-ID, dependency-ID, quality-ID, profile-level-ID, avg-framerate, Width, Height, avg-bitrate, and max-bitrate. These parameters correspond to different parameters of operation points. In addition, another SDP parameter sprop-scalability-info is defined. The sprop-scalability-info parameter directly provides content of the NAL corresponding to a Scalability Information SEI Message, and includes available layers (operation points) in the SVC stream and specific parameters of each layer (operation point). Each parameter in sprop-operation-point-info is extracted from the sprop-scalability-info parameter.
Packet-switched Streaming Service (PSS) is a protocol that is implemented over the Real Time Streaming Protocol (RTSP) and for providing streaming services, and can provide video-on-demand (VOD) and live content for mobile terminals.
The 3GPP file format (abbreviated to 3GP) is the main form of the content source of a PSS streaming server. The PSS specification defines a stream ID for the control URL in the attribute “a=control” of each media layer according to the 3GPP file format, where the stream ID is placed at the end of the control URL path. This stream ID is defined by the track-ID of a corresponding media track in the 3GPP file. The server finds this stream ID in the URL of a SETUP request sent from the client, and maps the stream ID to a matched media track in the 3GPP file. That is, when the 3GPP file has multiple media streams, for example, multiple audio streams and video streams, the track-ID may uniquely identify each different media stream.
In addition, the PSS protocol further defines an alt attribute to provide multiple options for an SDP attribute, for example, multiple options of bandwidths and languages.
In the selection of an operation point, the RTP protocol for SVC defines the operation point information parameter of the SDP.
If each operation point provided by the content source in the SVC format on the server is stored as a media track or an extraction track in the SVC file, each operation point in the SVC file may be uniquely identified by a track-ID. In this case, multiple SVC operation points may be provided directly through prior art of the PSS. Meanwhile, the mapping relationship among the control URL, alt attribute, application bandwidth and track-ID in the PSS SDP description and the RTSP SETUP request, and the operation point information parameter of SVC may be used. For live streaming applications, the video signals may be packetized directly for transmission after being encoded, and do not use the file format. In this case, the foregoing track-ID does not need to be used, but the layer-ID is directly used to describe the media control URL of SDP or RTSP.
Although the selection mechanism of streams in the PSS and the operation point information parameter of SVC are fully used, during the implementation of the present invention, the inventor discovers that the prior art has at least the following weaknesses:
1. The prior art is applicable to a specific file storage mode only, which limits the flexibility of SVC streams and file formats. When each operation point has a corresponding media track, or an extraction track, each operation point may be uniquely identified by the track-ID. However, in other cases, for example, if the whole SVC stream has only one media track, the track-ID cannot uniquely identify each operation point, and therefore, the prior art is not applicable.
2. Although the alt attribute may provide multiple options for an attribute, for example, bandwidth, video buffer parameter, and track-ID in a corresponding file, the mapping relationship between each operation point and multi-option parameters cannot be determined.
3. When the SVC content source provides a lot of operation points, the SDP description information is too long, which affects SETUP time of the streaming and increases the initial delay.
4. For live streaming applications not using the file format, an ID is also required to identify each SVC operation uniquely, and for describing the media control URL of the SDP or the RTSP. This mechanism is not supported in the prior art.